<?php
/*
 * Esta clase tiene la funcionalidad de tomar la información de un archivo XML y los parametros dados para formar
 * una consulta SQL, el archivo XML esta compuesto con la consulta semi-echa, se estructura de la siguiente forma:
 *  se contiene la consulta comun y donde van los parametros se tiene un campo denominado <param/> que es el lugar donde se 
 *  deben ubicar los parametros que se van a reemplazar.Ej
 *  <GetInfo>
 *  Select nombre, id from tabla1 where fecha between '<param/>' and '<param/>'
 *  </GetInfo>
 *  al remplazar los parametros la funcion querada de la siguiente forma 
 *  Select nombre, id from tabla1 where fecha between '21/09/2008' and '21/09/2009'
 *  ejemplo de como utilizar la clase
 *  Query=new DBQuery();
 *  params= new array();
 *  params[0]= '21/09/2008'
 *  params[1]= '21/09/2009'
 *  Consulta=Query->Create("GetInfo",params);
 */
class DBQuery
{

	var $Xml;
	var $Xmlfile;
	function __construct()
	{
		
		if(file_exists("Querys.xml"))
		{
			$filename="Querys.xml";
		}else 
		if((file_exists("BaseDatos/Querys.xml")))
		{
			$filename="BaseDatos/Querys.xml";
		}else		
		{
			$filename="../BaseDatos/Querys.xml";
		}
		$this->Xml = new DOMDocument();
		$this->Xml->load($filename);
		
	}
function Create($queryname,$params)
	{
		$query=$this->Xml->getElementsByTagName("$queryname");
		
		
		$child=$query->ChildNodes;
		$nodes=$query->item(0)->childNodes;		
		$n=0;
		$i=0;
		foreach($nodes as $node)
		{
			if($n>0)
			{
				if($node->nodeName=="param")
				{
					$node->nodeValue=$params[$i];
					$i++;
				}
			}
			$n++;
			
		}
		$xquery=$query->item(0)->nodeValue;
		return $xquery;

		
	}
}
?>
